#include "TableInterface/table.h"
#include "TableInterface/param_table_interface.h"
#include "fpga_addr_define.h"
#include "dataBase/miscStaticDataFunction.h"
#include "function_interface.h"
#include "utils.h"
#include "debug.h"
#include "rated_limit.h"
#include "fpga_interface.h"
#include "comm_monitor.h"
#include "table_refresh.h"
#include "syslog.h"
#include "comm_monitor.h"
#include "ieee_1547.h"


int UpperTable_InitCallback(tableEntry_t *pEntry)
{
    uint32_t addr = pEntry->idx;
    uint16_t *pValue = &pEntry->data;

    ParamTable_Get(addr, pValue);
    
    switch(addr)
    {                     
        case 599: /* ARM版本 */
            if(FuncInf_GetVersion(FUNCINF_VER_TYPE_ALL, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 650: /* 1网口IP0 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_IP0, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 651: /* 1网口IP1 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_IP1, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 652: /* 1网口IP2 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_IP2, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 653: /* 1网口IP3 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_IP3, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 654: /* 1网口MAC0 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC0, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 655: /* 1网口MAC1 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC1, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 656: /* 1网口MAC2 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC2, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 657: /* 1网口MAC3 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC3, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 658: /* 1网口MAC4 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC4, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 659: /* 1网口MAC5 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT1_MAC5, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 660: /* 2网口IP0 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_IP0, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 661: /* 2网口IP1 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_IP1, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 662: /* 2网口IP2 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_IP2, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 663: /* 2网口IP3 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_IP3, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 664: /* 2网口MAC0 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC0, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 665: /* 2网口MAC1 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC1, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 666: /* 2网口MAC2 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC2, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 667: /* 2网口MAC3 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC3, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 668: /* 2网口MAC4 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC4, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        case 669: /* 2网口MAC5 */
            if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT2_MAC5, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;

        // case 670: /* 3网口IP0 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_IP0, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 671: /* 3网口IP1 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_IP1, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 672: /* 3网口IP2 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_IP2, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 673: /* 3网口IP3 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_IP3, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 674: /* 3网口MAC0 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC0, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 675: /* 3网口MAC1 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC1, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 676: /* 3网口MAC2 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC2, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 677: /* 3网口MAC3 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC3, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 678: /* 3网口MAC4 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC4, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 679: /* 3网口MAC5 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT3_MAC5, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 680: /* 4网口IP0 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_IP0, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 681: /* 4网口IP1 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_IP1, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 682: /* 4网口IP2 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_IP2, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 683: /* 4网口IP3 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_IP3, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 684: /* 4网口MAC0 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC0, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 685: /* 4网口MAC1 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC1, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 686: /* 4网口MAC2 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC2, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 687: /* 4网口MAC3 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC3, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 688: /* 4网口MAC4 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC4, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;

        // case 689: /* 4网口MAC5 */
        //     if(FuncInf_GetNetParam(FUNCINF_NET_PARAM_TYPE_PORT4_MAC5, pValue) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR;
        //     }
        //     break;
    }
    // PRINT_DEBUG("Read from param table: [%d]=%d", addr, *pValue);

    return 0;

L_HANDLE_ERROR:
    PRINT_WARN("Get failure[%d]", addr);
    return -1;
}


int UpperTable_RefreshCallback(tableEntry_t *pEntry)
{
    uint32_t addr = pEntry->idx;
    uint16_t *pValue = &pEntry->data;
    float fltVal = 0.0F;
    uint32_t u32Val = 0;
    commState_t state;
    uint16_t idxDev, stateAll = 0;

    // if(addr < FPGA_ADDR_MAX)
    if(addr < FPGA_ADDR_502) /* 不读取波形数据 */
    {
        if(FpgaInf_Read(addr, pValue) != TABLE_ERR_NONE)
        {
            return -2;
        }
        return 0;
    }

    switch(addr)
    {
    #if(RATED_LIMIT_TYPE_SEL == RATED_LIMIT_TYPE_ENTIRE)    
        case 512: /* 充电限功率原因-组0 */
        case 516: /* 放电限功率原因-组0 */
            if(RatedLimit_GetReason(0, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 513: /* 充电限功率原因-组1 */
        case 517: /* 放电限功率原因-组1 */
            if(RatedLimit_GetReason(1, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 514: /* 充电限功率原因-组2 */
        case 518: /* 放电限功率原因-组2 */
            if(RatedLimit_GetReason(2, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 515: /* 充电限功率原因-组3 */
        case 519: /* 放电限功率原因-组3 */
            if(RatedLimit_GetReason(3, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
    #elif(RATED_LIMIT_TYPE_SEL == RATED_LIMIT_TYPE_SEPARATE)   
        case 512: /* 充电限功率原因-组0 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_CHRG, 0, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 513: /* 充电限功率原因-组1 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_CHRG, 1, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 514: /* 充电限功率原因-组2 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_CHRG, 2, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 515: /* 充电限功率原因-组3 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_CHRG, 3, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
  
        case 516: /* 放电限功率原因-组0 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_DISC, 0, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 517: /* 放电限功率原因-组1 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_DISC, 1, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 518: /* 放电限功率原因-组2 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_DISC, 2, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 519: /* 放电限功率原因-组3 */
            if(RatedLimit_GetReason(RATED_LIMIT_TYPE_DISC, 3, pValue) != 0)
            {
                goto L_HANDLE_ERROR;
            }
            break;
    #endif
                      
        case 520: /* A相电压 */
            if(FuncInf_GetVoltage(FUNCINF_VOL_TYPE_PHASE_A, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 521: /* B相电压 */
            if(FuncInf_GetVoltage(FUNCINF_VOL_TYPE_PHASE_B, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 522: /* C相电压 */
            if(FuncInf_GetVoltage(FUNCINF_VOL_TYPE_PHASE_C, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 523: /* A相电流 */
            if(FuncInf_GetCurrent(FUNCINF_CUR_TYPE_PHASE_A, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 524: /* B相电流 */
            if(FuncInf_GetCurrent(FUNCINF_CUR_TYPE_PHASE_B, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 525: /* C相电流 */
            if(FuncInf_GetCurrent(FUNCINF_CUR_TYPE_PHASE_C, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 526: /* 有功功率 */
            if(FuncInf_GetPower(FUNCINF_PWR_TYPE_ACT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 527: /* 无功功率 */
            if(FuncInf_GetPower(FUNCINF_PWR_TYPE_REACT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 528: /* 频率 */
            if(FuncInf_GetFrequency(NULL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 529: /* 电池电压 */
            if(FuncInf_GetVoltage(FUNCINF_VOL_TYPE_BAT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 530: /* 电池电流 */
            if(FuncInf_GetCurrent(FUNCINF_CUR_TYPE_BAT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 531: /* 电池功率 */
            if(FuncInf_GetPower(FUNCINF_PWR_TYPE_BAT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 532: /* 母线电压 */
            if(FuncInf_GetVoltage(FUNCINF_VOL_TYPE_BUS, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 10);
            break;
               
        case 538: /* A相IGBT模块温度0 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_A0, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 539: /* B相IGBT模块温度0 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_B0, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 540: /* C相IGBT模块温度0 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_C0, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 541: /* A相IGBT模块温度1 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_A1, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 542: /* B相IGBT模块温度1 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_B1, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 543: /* C相IGBT模块温度1 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_C1, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 548: /* A相左侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_AL23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 549: /* A相左侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_AL14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 550: /* A相右侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_AR23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 551: /* A相右侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_AR14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 552: /* B相左侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_BL23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 553: /* B相左侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_BL14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 554: /* B相右侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_BR23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 555: /* B相右侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_BR14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 556: /* C相左侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_CL23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 557: /* C相左侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_CL14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 558: /* C相右侧2/3点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_CR23, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 559: /* C相右侧1/4点AD值 */
            if(FuncInf_GetIgbtTemperatureAd(FUNCINF_IGBT_TEMP_TYPE_CR14, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
               
        case 560: /* A相左侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_AL23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 561: /* A相左侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_AL14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 562: /* A相右侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_AR23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 563: /* A相右侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_AR14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 564: /* B相左侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_BL23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 565: /* B相左侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_BL14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 566: /* B相右侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_BR23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 567: /* B相右侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_BR14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 568: /* C相左侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_CL23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 569: /* C相左侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_CL14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 570: /* C相右侧2/3点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_CR23, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 571: /* C相右侧1/4点温度值 */
            if(FuncInf_GetIgbtTemperature(FUNCINF_IGBT_TEMP_TYPE_CR14, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            *pValue = (int16_t)(fltVal * 1);
            break;
               
        case 578: /* 当日交流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_DISC_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 579: /* 当日交流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_DISC_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 580: /* 当日交流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_CHRG_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 581: /* 当日交流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_CHRG_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 582: /* 总交流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_DISC_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;

        case 583: /* 总交流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_DISC_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 584: /* 总交流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_CHRG_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 585: /* 总交流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_AC_CHRG_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 586: /* 当日直流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_DISC_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 587: /* 当日直流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_DISC_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 588: /* 当日直流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_CHRG_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 589: /* 当日直流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_CHRG_DAY, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 590: /* 总直流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_DISC_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
            
        case 591: /* 总直流放电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_DISC_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;
               
        case 592: /* 总直流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_CHRG_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = (u32Val & 0xFFFF);
            break;
               
        case 593: /* 总直流充电量 */
            if(FuncInf_GetElectricQuantity(FUNCINF_ELEC_QUTT_TYPE_DC_CHRG_TOT, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            u32Val = (int32_t)(fltVal * 10);
            *pValue = u32Val >> 16;
            break;

        case 598: /* 通讯状态 */
            for(idxDev = 0; idxDev < COMM_DEVICE_QTY; idxDev++)
            {
                state = 0;
                CommMonitor_GetCommState(idxDev, &state);
                state == COMM_STATE_ONLINE ? SET_BIT(stateAll, idxDev) : CLEAR_BIT(stateAll, idxDev);
            }
            *pValue = (uint16_t)stateAll;
            break;
               
        case 710: /* 模式 */
            if(FuncInf_GetMode(NULL, pValue) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR;
            }
            break;
    }

    return 0;

L_HANDLE_ERROR:
    PRINT_WARN("Get failure[%d]", addr);
    return -1;
}


int UpperTable_SetCallback(tableEntry_t *pEntry)
{
    uint32_t addr = pEntry->idx;
    uint16_t value = pEntry->data;
    float fltVal = 0.0F;
    uint32_t u32Val = 0;

    PRINT_DEBUG("[%d]=%d", addr, value);

    if(addr < FPGA_ADDR_MAX / 2)
    {
        if(FuncInf_DirectWriteFpga(FUNCINF_OPERATOR_UPPER, addr, value) != FUNCINF_ERR_NONE)
        {
            PRINT_WARN("Write failure");
            return -3;
        }

        return 0;
    }
    
    switch(addr)
    {
        case 600: /* 交流电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 601: /* 交流电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 602: /* 交流电流变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_CUR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_CUR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 603: /* 交流电流变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_CUR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_CUR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 604: /* 交流功率变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_PWR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_PWR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 605: /* 交流功率变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_AC_PWR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_AC_PWR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 606: /* 直流电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;
            
        case 607: /* 直流电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 608: /* 直流电流变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_CUR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_CUR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 609: /* 直流电流变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_CUR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_CUR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 610: /* 直流功率变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_PWR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_PWR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 611: /* 直流功率变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_DC_PWR, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_DC_PWR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 612: /* 电池电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_BAT_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_BAT_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 613: /* 电池电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_BAT_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_BAT_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 614: /* 正极对地电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_POS_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_POS_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 615: /* 正极对地电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_POS_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_POS_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 616: /* 负极对地电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_NEG_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (u32Val & 0xFFFF0000) | value;
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_NEG_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 617: /* 负极对地电压变比系数 */
            if(FuncInf_GetRatioCoef(FUNCINF_RATIO_COEF_TYPE_NEG_VOL, &fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR1;
            }
            u32Val = (int32_t)(fltVal * 100000);
            u32Val = (value << 16) | (u32Val & 0xFFFF);
            fltVal = (float)u32Val / 100000;
            if(FuncInf_SetRatioCoef(FUNCINF_OPERATOR_UPPER, FUNCINF_RATIO_COEF_TYPE_NEG_VOL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 650: /* 1网口IP0 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_IP0, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 651: /* 1网口IP1 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_IP1, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 652: /* 1网口IP2 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_IP2, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 653: /* 1网口IP3 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_IP3, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 654: /* 1网口MAC0 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC0, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 655: /* 1网口MAC1 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC1, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 656: /* 1网口MAC2 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC2, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 657: /* 1网口MAC3 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC3, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 658: /* 1网口MAC4 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC4, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 659: /* 1网口MAC5 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT1_MAC5, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 660: /* 2网口IP0 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_IP0, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 661: /* 2网口IP1 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_IP1, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 662: /* 2网口IP2 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_IP2, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 663: /* 2网口IP3 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_IP3, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 664: /* 2网口MAC0 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC0, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 665: /* 2网口MAC1 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC1, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 666: /* 2网口MAC2 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC2, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 667: /* 2网口MAC3 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC3, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 668: /* 2网口MAC4 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC4, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 669: /* 2网口MAC5 */
            if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT2_MAC5, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        // case 670: /* 3网口IP0 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_IP0, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 671: /* 3网口IP1 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_IP1, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 672: /* 3网口IP2 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_IP2, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 673: /* 3网口IP3 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_IP3, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 674: /* 3网口MAC0 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC0, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 675: /* 3网口MAC1 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC1, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 676: /* 3网口MAC2 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC2, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 677: /* 3网口MAC3 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC3, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 678: /* 3网口MAC4 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC4, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 679: /* 3网口MAC5 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT3_MAC5, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 680: /* 4网口IP0 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_IP0, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 681: /* 4网口IP1 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_IP1, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 682: /* 4网口IP2 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_IP2, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 683: /* 4网口IP3 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_IP3, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 684: /* 4网口MAC0 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC0, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 685: /* 4网口MAC1 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC1, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 686: /* 4网口MAC2 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC2, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 687: /* 4网口MAC3 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC3, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 688: /* 4网口MAC4 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC4, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        // case 689: /* 4网口MAC5 */
        //     if(FuncInf_SetNetParam(FUNCINF_OPERATOR_UPPER, FUNCINF_NET_PARAM_TYPE_PORT4_MAC5, value) != FUNCINF_ERR_NONE)
        //     {
        //         goto L_HANDLE_ERROR2;
        //     }
        //     break;

        case 690: /* 485从机地址（HMI） */
            if(FuncInf_SetHmiSlaveId(FUNCINF_OPERATOR_UPPER, NULL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 700: /* 最大交流有功 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_AC_P_MAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 701: /* 最大交流无功 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_AC_Q_MAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 702: /* 最大直流功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_DC_P_MAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 703: /* 最大直流电流 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_DC_I_MAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 704: /* 最大直流电压 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_DC_U_MAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 705: /* 最小直流电压 */
            fltVal = (float)value / 1;
            if(FuncInf_SetExtremeValue(FUNCINF_OPERATOR_UPPER, FUNCINF_EXTR_VAL_TYPE_DC_U_MIN, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 710: /* 模式 */
            if(FuncInf_SetMode(FUNCINF_OPERATOR_UPPER, NULL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 712: /* 测试开关 */
            if(FuncInf_SetTestSwitch(FUNCINF_OPERATOR_UPPER, FUNCINF_TEST_SWITCH_TYPE_ALL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 714: /* 通讯监测开关 */
            if(FuncInf_SetCommunicateSwitch(FUNCINF_OPERATOR_UPPER, FUNCINF_COMM_SWITCH_TYPE_ALL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 716: /* 策略开关 */
            if(FuncInf_SetStrategySwitch(FUNCINF_OPERATOR_UPPER, FUNCINF_STRTG_SWITCH_TYPE_ALL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 718: /*配置开关*/
            if(FuncInf_SetConfigSwitch(FUNCINF_OPERATOR_UPPER, FUNCINF_CONFIG_SWITCH_TYPE_ALL, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }

        case 720: /* 模块高温降额阈值 */
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_HIG_TEMP_DERATE, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 721: /* 模块温差降额阈值 */
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_TEMP_DIFF, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 722: /* 漏电流阈值 */
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_LEAK_CUR, value) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 730: /* 功率软起  功率爬坡率 */
            fltVal = (float)value / 10;
            if(FuncInf_SetPwrSloped(FUNCINF_OPERATOR_UPPER, NULL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 740: /* 时段  1开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 741: /* 时段  1结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 742: /* 时段  1功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 743: /* 时段  2开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 744: /* 时段  2结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 745: /* 时段  2功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 746: /* 时段  3开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 747: /* 时段  3结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 748: /* 时段  3功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;            

        case 749: /* 时段  4开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 750: /* 时段  4结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 751: /* 时段  4功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;            

        case 752: /* 时段  5开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_5, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 753: /* 时段  5结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_5, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 754: /* 时段  5功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_5, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;            

        case 755: /* 时段  6开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_6, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 756: /* 时段  6结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_6, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 757: /* 时段  6功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_6, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;            

        case 758: /* 时段  7开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_7, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 759: /* 时段  7结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_7, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 760: /* 时段  7功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_7, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;            

        case 761: /* 时段  8开始时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_BEGIN_8, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 762: /* 时段  8结束时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_END_8, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 763: /* 时段  8功率 */
            fltVal = (float)value / 1;
            if(FuncInf_SetPeriodParam(FUNCINF_OPERATOR_UPPER, FUNCINF_PERIOD_PARAM_TYPE_POWER_8, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 770: /* ARM三级保护  过压门限 */
            fltVal = (float)value / 1;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_OV_THR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 771: /* ARM三级保护  欠压门限 */
            fltVal = (float)value / 1;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_UV_THR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 772: /* ARM三级保护  过压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_OV_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 773: /* ARM三级保护  欠压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_UV_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 774: /* ARM三级保护  过频门限 */
            fltVal = (float)value / 1;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_OF_THR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 775: /* ARM三级保护  欠频门限 */
            fltVal = (float)value / 1;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_UF_THR, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 776: /* ARM三级保护  过频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_OF_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 777: /* ARM三级保护  欠频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_SetArmThrshd(FUNCINF_OPERATOR_UPPER, FUNCINF_ARM_THR_TYPE_3L_UF_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 780: /* 1547  无功模式选择 */
            fltVal = (float)value / 1;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_Q_MODE_SEL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 781: /* 1547  电压有功模式使能 */
            fltVal = (float)value / 1;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_MODE_EN, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 782: /* 1547  频率有功模式使能 */
            fltVal = (float)value / 1;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_MODE_EN, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 783: /* 1547  有功限制使能 */
            fltVal = (float)value / 1;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PL_MODE_EN, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 784: /* 1547  有功无功模式:有功控制点3 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 785: /* 1547  有功无功模式:无功控制点3 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 786: /* 1547  有功无功模式:有功控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 787: /* 1547  有功无功模式:无功控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 788: /* 1547  有功无功模式:有功控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 789: /* 1547  有功无功模式:无功控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 790: /* 1547  有功无功模式:有功控制点1' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P1_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 791: /* 1547  有功无功模式:无功控制点1' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q1_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 792: /* 1547  有功无功模式:有功控制点2' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P2_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 793: /* 1547  有功无功模式:无功控制点2' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q2_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 794: /* 1547  有功无功模式:有功控制点3' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_P3_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 795: /* 1547  有功无功模式:无功控制点3' */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PQ_Q3_N, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 796: /* 1547  电压无功模式:电压参考 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_UREF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 797: /* 1547  电压无功模式:电压控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_V2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 798: /* 1547  电压无功模式:无功控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_Q2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 799: /* 1547  电压无功模式:电压控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_V1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 800: /* 1547  电压无功模式:无功控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_Q1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 801: /* 1547  电压无功模式:电压控制点3 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_V3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 802: /* 1547  电压无功模式:无功控制点3 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_Q3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 803: /* 1547  电压无功模式:电压控制点4 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_V4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 804: /* 1547  电压无功模式:无功控制点4 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_Q4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 805: /* 1547  电压无功模式:响应时间 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VQ_TRESP, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 806: /* 1547  恒功率因素模式:功因设定值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_CPF_PF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 807: /* 1547  电压有功模式:电压控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_V1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 808: /* 1547  电压有功模式:功率控制点1 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_P1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 809: /* 1547  电压有功模式:电压控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_V2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 810: /* 1547  电压有功模式:功率控制点2 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_P2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 811: /* 1547  电压有功模式:响应时间 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_VP_TRESP, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 812: /* 1547  一次调频模式:欠频死区 */
            fltVal = (float)value / 1000;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_DBUF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 813: /* 1547  一次调频模式:可提供功率 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_PVAL, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 814: /* 1547  一次调频模式:欠频调频系数 */
            fltVal = (float)value / 1000;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_KUF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 815: /* 1547  一次调频模式:过频死区 */
            fltVal = (float)value / 1000;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_DBOF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 816: /* 1547  一次调频模式:最小可吸收功率 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_PMIN, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 817: /* 1547  一次调频模式:过频调频系数 */
            fltVal = (float)value / 1000;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_KOF, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 818: /* 1547  一次调频模式:响应时间 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_FP_TRESP, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 819: /* 1547  限功率模式:最大功率限制 */
            fltVal = (float)value / 10;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_PL_PMAX, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 820: /* 1547  二级过压阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OV_2L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 821: /* 1547  一级过压阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OV_1L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 822: /* 1547  一级欠压阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UV_1L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 823: /* 1547  二级欠压阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UV_2L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 824: /* 1547  二级过压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OV_2L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 825: /* 1547  一级过压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OV_1L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 826: /* 1547  一级欠压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UV_1L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 827: /* 1547  二级欠压时间 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UV_2L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 828: /* 1547  二级过频阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OF_2L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 829: /* 1547  一级过频阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OF_1L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 830: /* 1547  一级欠频阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UF_1L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;        

        case 831: /* 1547  二级欠频阈值 */
            fltVal = (float)value / 100;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UF_2L, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 832: /* 1547  二级过频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OF_2L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 833: /* 1547  一级过频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_OF_1L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 834: /* 1547  一级欠频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UF_1L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 835: /* 1547  二级欠频时间 */
            fltVal = (float)value / 50;
            if(FuncInf_Set1547Param(FUNCINF_OPERATOR_UPPER, FUNCINF_1547_PARAM_TYPE_UF_2L_TIME, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 840: /* 调试值0 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_0, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 841: /* 调试值1 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_1, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 842: /* 调试值2 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_2, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 843: /* 调试值3 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_3, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 844: /* 调试值4 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_4, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 845: /* 调试值5 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_5, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 846: /* 调试值6 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_6, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 847: /* 调试值7 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_7, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 848: /* 调试值8 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_8, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 849: /* 调试值9 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_9, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;     

        case 850: /* 调试值10 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_10, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 851: /* 调试值11 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_11, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 852: /* 调试值12 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_12, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 853: /* 调试值13 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_13, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 854: /* 调试值14 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_14, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            break;

        case 855: /* 调试值15 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_15, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            // char *s = "abc";
            // s[0] = 'A';
            // printf("%s\n", s);
            break;

        case 856: /* 调试值16 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_16, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            // int a = 5 / 0;
            // printf("a = %d\n", a);
            break;

        case 857: /* 调试值17 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_17, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            syslog(LOG_DEBUG, "%s: CommMonitor TimerId[%d]", __func__, CommMonitor_GetTimerId());
            break;

        case 858: /* 调试值18 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_18, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            syslog(LOG_DEBUG, "%s: Ieee1547 TimerId[%d]", __func__, Ieee1547_GetTimerId());
            break;

        case 859: /* 调试值19 */
            fltVal = (float)value / 10;
            if(FuncInf_SetDebugVal(FUNCINF_OPERATOR_UPPER, FUNCINF_DBG_VAL_IDX_19, fltVal) != FUNCINF_ERR_NONE)
            {
                goto L_HANDLE_ERROR2;
            }
            TableRefresh_SendMessage(TABLE_MSGVAL_FPGA);
            TableRefresh_SendMessage(TABLE_MSGVAL_TIME);
            break;

        default:
            return -3;
    }

    return 0;

L_HANDLE_ERROR1:
    PRINT_WARN("Get failure[%d]", addr);
    return -1;

L_HANDLE_ERROR2:
    PRINT_WARN("Set failure[%d]", addr);
    return -2;
}

